package com.travel.server.manager.impl.controller;

import com.travel.server.manager.api.ICustomerService;
import com.travel.server.manager.dto.request.EmptyRequest;
import com.travel.server.manager.dto.request.customer.*;
import com.travel.server.manager.impl.controller.base.AbstractController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Author: LiZhenhui
 * @Date: 2018/10/17 16:43
 * @Desc:
 */
@RestController
@Slf4j
public class CustomerController extends AbstractController implements ICustomerService {
    @Override
    public Object queryCustomerInfoList(@RequestBody QueryCustomerInfoListRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryCustomerInfoDetail(@RequestBody QueryCustomerInfoDetailRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object updateCustomerOtherInfo(@RequestBody UpdateCustomerOtherInfoRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object deleteCustomerInfo(@RequestBody DeleteCustomerInfoRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object updateCustomerBaseInfo(@RequestBody UpdateCustomerBaseInfoRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object addCustomerInfo(@RequestBody AddCustomerInfoRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryMemberGradeList(@RequestBody EmptyRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object updateMemberGradeInfo(@RequestBody UpdateMemberGradeInfoRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object deleteMemberGradeInfo(@RequestBody DeleteMemberGradeInfoRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryTagList(@RequestBody EmptyRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object updateTagInfo(@RequestBody UpdateTagInfoRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object deleteTagInfo(@RequestBody DeleteTagInfoRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryCustomerEnum(@RequestBody EmptyRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object deleteCustomerTag(@RequestBody DeleteCustomerTagRequest request) {
        return this.getCommand().handle(request);
    }
}
